﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace dto2
{
  public class KHOA
    {

        private byte makhoa;
            private string tenkhoa;
            public byte Makhoa { get { return makhoa; } set { makhoa = value; } }
            public string Tenkhoa { get { return tenkhoa; } set { tenkhoa = value; } }
            private List<SINHVIEN> co;
            public List<SINHVIEN> Co
            {
                get
                {
                    if (co == null) co = new List<SINHVIEN>();
                    return co;
                }
                set
                {
                    RemoveAllCo();
                    if (value != null)
                    {
                        foreach (SINHVIEN oSinhvien in value)
                            AddCo(oSinhvien);
                    }
                }
            }

            public void AddCo(SINHVIEN newSinhvien)
            {
                if (newSinhvien == null)
                    return;
                if (this.co == null)
                    this.co = new List<SINHVIEN>();
                if (!this.co.Contains(newSinhvien))
                {
                    this.co.Add(newSinhvien);
                    newSinhvien.Thuoc = this;
                }
            }

            public void RemoveCo(SINHVIEN oldSinhvien)
            {
                if (oldSinhvien == null)
                    return;
                if (this.co != null)
                    if (this.co.Contains(oldSinhvien))
                    {
                        this.co.Remove(oldSinhvien);
                        oldSinhvien.Thuoc = null;
                    }
            }

            public void RemoveAllCo()
            {
                if (co != null)
                {
                    System.Collections.ArrayList tmpCo = new System.Collections.ArrayList();
                    foreach (SINHVIEN oldSinhvien in co)
                        tmpCo.Add(oldSinhvien);
                    co.Clear();
                    foreach (SINHVIEN oldSinhvien in tmpCo)
                        oldSinhvien.Thuoc = null;
                    tmpCo.Clear();
                }
            }


        }
    }

